package classfile

/*
	CONSTANT_MethodType_info {
	    u1 tag;
	    u2 descriptor_index;
	}
*/
type Constant_Method_Type struct {
	ConstantStruct
	descriptorIndex uint16
	descriptor      *Constant_Utf8
}

/*
	CONSTANT_MethodHandle_info {
	    u1 tag;
	    u1 reference_kind;
	    u2 reference_index;
	}
*/
type Constant_Method_Handle struct {
	ConstantStruct
	referenceKind  uint8
	referenceIndex uint16
}

/*
*

	CONSTANT_InvokeDynamic_info {
	    u1 tag; // 常量类型标签，必须为 CONSTANT_InvokeDynamic_info
	    u2 bootstrap_method_attr_index; // 引导方法属性的索引
	    u2 name_and_type_index; // 方法名和类型信息的索引
	}
*/
type Constant_InvokeDynamic struct {
	ConstantStruct
	bootStrapMethodAttrIndex uint16
	nameAndTypeIndex         uint16
	nameAndType              *Constant_Name_And_Type
}
